// 创建仓库

// 步骤1: 引入 createStore创建仓库的方法
import { legacy_createStore as createStore } from 'redux';

// 步骤2: 定义初始的state 仓库数据
const defaultState = {
    count: 0, // 全局数据
    num: 100,
}

//步骤3: 定义reducer函数
function reducer(state = defaultState, action) {
    // console.log('action', action);
    if (action.type == '+') {
        return {
            ...state, // 注意: 需要保留原数据,否则是替换操作
            count: state.count + 1
        }
    }
    if (action.type == '-') {
        return {
            ...state, // 注意: 需要保留原数据,否则是替换操作
            count: state.count - action.payload
        }
    }
    // 如果不修改返回原state
    return state
}

// 步骤4:创建store 仓库
const store = createStore(
    reducer,
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);

// 步骤5: 导出仓库
export default store


